In recent years, portable electronic devices, such as laptop computers, Personal Digital Assistants (PDAs) (e.g., a Palm Pilots), and cellular telephones, have gained widespread use. These devices are frequently used, among other reasons, to carry personal information such as address books and calendars. It is not unusual for one person to own two or more such devices, often in addition to a personal computer (PC). Consequently, users of such devices generally prefer to add, delete, or modify data on one device and see the changes automatically reflected in their other devices. In response to this preference, the industry has developed data synchronization methods and standards.
Typical data synchronization methods operate based on the assumption that communication among devices is reliable, i.e., that data will not be lost during transmission and that communication links will not fail. This is a reasonable (albeit occasionally inaccurate) assumption in the context of wired serial links and networks. Wireless links are far less reliable, however, and are likely to remain so for some time. A wireless link can fail due to many possible reasons, such as interference from nearby buildings and other structures, terrain and other electronic devices, or traveling outside service area boundaries. If synchronization fails, it may be difficult or impossible for a user to make manual adjustments to the data from a mobile device to correct for the failure.
It is expected that within a short time, wireless links will be the predominant connection medium between personal electronic devices. It is crucial, therefore, that these devices be capable of synchronizing their data without errors, even when communication links fail or devices on the network are offline.